<template>
  <div>
    <upload-excel :on-success="handleSuccess"></upload-excel>
  </div>
</template>
<script>
import { importEmployee } from '@/api/employees'
import { formatExcelDate } from '@/utils/index.js'
export default {
  name: '',
  data() {
    return {}
  },
  created() {},
  computed: {},
  methods: {
    handleSuccess({ header, results }) {
      // header 标题
      //        ['姓名','手机号']
      // results excel表格的内容
      //        [ {'姓名'：'小张'， '手机号': '13712345678'}, {.....} ]
      console.log(header, results, 77)
      /* header===表头
      results=====每一行的数据
      以上步骤：获取excel表格中的数据
      1-封装api接口函数
      2-准备参数数据 ===处理数据格式
      3-发送请求
      4-成功后
        4-1 跳回员工数据列表--获取新的数据
       */
      var newResults = this.transExcel(results)
      /* 发送请求 */
      this.doExcel(newResults)
    },
    transExcel(results) {
      const mapInfo = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber',
        部门: 'departmentName',
        聘用形式: 'formOfEmployment'
      }
      var newResults = results.map((item) => {
        var newObj = {} // 转换之后的数据存储处
        //  处理中文数据存在一个数组中
        var zhKeys = Object.keys(item) // ['姓名', '手机号', '入职日期', '转正日期', '工号', '部门']
        // console.log(zhKeys, 55444)
        zhKeys.forEach((key) => {
          //  key  中文的每一项
          var enKey = mapInfo[key] //  英文键
          console.log(enKey, 33)
          /* 时间格式转换 */
          if (enKey === 'timeOfEntry' || enKey === 'correctionTime') {
            newObj[enKey] = formatExcelDate(item[key])
          } else {
            newObj[enKey] = item[key] //  {timeOfEntry:'',}
          }
        })
        return newObj
      })
      console.log(newResults, 22)
      return newResults
    },

    /* 发送请求添加员工 批量 */
    async doExcel(newResults) {
      try {
        const res = await importEmployee(newResults)
        this.$router.push('/employees')
      } catch (error) {}
    }
  }
}
</script>
<style lang='less'  scoped>
</style>
